Geometry processing may be made parallel by assigning to each processor a subset of the primitives in a scene. Rasterization may be made parallel by assigning to each processor some portion of the necessary pixel calculations. Rendering involves calculating the effect of each primitive on each pixel. A primitive can fall anywhere on or off the actual viewing screen. Rendering sorts the primitives to the screen.
Graphics architectures are often characterized by where they do the sorting. The sort can take place during geometry processing in what is called sort-first, between geometry processing and rasterization, called sort-middle, or during rasterization called sort-last. Sort-first means redistributing raw primitives before their screen-space parameters are known, sort-middle means redistributing screen-space primitives, and sort-last means redistributing pixels, samples, or pixel fragments.
FIGS. 11A and 11B illustrate two prior-art frames of an Angry Birds™ game program. These two prior-art frames are similar but conventional sort-first architecture would have to start over from scratch when rendering the frame in FIG. 11B, even though the similar frame in FIG. 11A was rendered just before.